package com.zhongen.wflow.workflow.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongen.wflow.workflow.bean.vo.InstanceCountVo;
import com.zhongen.wflow.workflow.bean.vo.ProcessInstanceVo;
import com.zhongen.wflow.workflow.bean.vo.ProcessProgressVo;
import com.zhongen.wflow.workflow.bean.vo.ProcessStartParamsVo;
import org.flowable.task.api.Task;

import java.util.List;

/**
 * @author : willian fu
 * @date : 2022/8/22
 */
public interface ProcessInstanceService {

	String startProcess(String defId, ProcessStartParamsVo params);

	String getBeforeTask(String instanceId, String task);

	void delProcessInstance(String instanceId);

	ProcessProgressVo getInstanceProgress(String nodeId, String instanceId);

	List<Task> getProcessInstanceTaskList(String instanceId);

	Page<ProcessInstanceVo> getUserSubmittedList(Integer pageSize, Integer pageNo, String startUser, String code,
			Boolean finished);

	Page<ProcessInstanceVo> getCcMeInstance(Integer pageSize, Integer pageNo, String code);

	InstanceCountVo getProcessInstanceCount();

}
